package com.five.admin.server;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.five.admin.dto.DeliveryOrderDTO;
import com.five.admin.dto.OrderQueryDto;
import com.five.admin.vo.OrderListVo;
import com.five.pojo.entity.Order;
import com.five.pojo.vo.OrderDetailVO;

import javax.validation.Valid;
import java.util.List;

public interface OrderService extends IService<Order> {

    Page<OrderListVo> list(OrderQueryDto queryDto);

    boolean sendOrder(Long orderId);

    /**
     * 根据订单ID查询订单详情（包含商品明细）
     * @param orderId 订单ID
     * @return 订单详情VO
     */
    OrderDetailVO getOrderDetail(Long orderId);

    boolean delivery(@Valid DeliveryOrderDTO deliveryOrderDTO);

    boolean complete(Long orderId);
}
